home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot.new / tftp.h < prev    next >
C/C++ Source or Header  |  1990-12-19  |  1KB  |  48 lines

  1.  
  2. /*    @(#)tftp.h 1.1 86/09/27 SMI    */
  3.  
  4. /*
  5.  * Copyright (c) 1986 by Sun Microsystems, Inc.
  6.  */
  7.  
  8. /*
  9.  * Trivial File Transfer Protocol (IEN-133)
  10.  */
  11. #define    SEGSIZE        512        /* data segment size */
  12.  
  13. /*
  14.  * Packet types.
  15.  */
  16. #define    RRQ    01            /* read request */
  17. #define    WRQ    02            /* write request */
  18. #define    DATA    03            /* data packet */
  19. #define    ACK    04            /* acknowledgement */
  20. #define    ERROR    05            /* error code */
  21.  
  22. struct    tftphdr {
  23.     short    th_opcode;        /* packet type */
  24.     union {
  25.         short    tu_block;    /* block # */
  26.         short    tu_code;    /* error code */
  27.         char    tu_stuff[1];    /* request packet stuff */
  28.     } th_u;
  29.     char    th_data[1];        /* data or error string */
  30. };
  31.  
  32. #define    th_block    th_u.tu_block
  33. #define    th_code        th_u.tu_code
  34. #define    th_stuff    th_u.tu_stuff
  35. #define    th_msg        th_data
  36.  
  37. /*
  38.  * Error codes.
  39.  */
  40. #define    EUNDEF        0        /* not defined */
  41. #define    ENOTFOUND    1        /* file not found */
  42. #define    EACCESS        2        /* access violation */
  43. #define    ENOSPACE    3        /* disk full or allocation exceeded */
  44. #define    EBADOP        4        /* illegal TFTP operation */
  45. #define    EBADID        5        /* unknown transfer ID */
  46. #define    EEXISTS        6        /* file already exists */
  47. #define    ENOUSER        7        /* no such user */
  48.